This chapter describes the QuickTime music architecture (QTMA), which allows QuickTime movies and other software to play individual musical notes, sequences of notes, and a broad range of sounds from a variety of instruments and synthesizers. With QTMA, you can also import Standard MIDI files and convert them into a QuickTime movie for easy playback.
You can use the QuickTime music synthesizer, which is a software-based music synthesizer included with QuickTime, to generate sounds or music using a computer's built-in audio or sound card. You can also use the General MIDI component for playing music on a MIDI device attached to a serial port.
Before reading this chapter, you should already be familiar with QuickTime and QuickTime components. In order to use any component, your application must use the Component Manager.
You need to read this chapter if you are writing an application that creates QuickTime movies and you want to incorporate music tracks as part of the movie, either by importing MIDI files or by programmatically generating musical sequences. If you want to create a music component or add an instrument to the existing library of instruments, you also need to read this chapter. If you are creating new instruments, you should be familiar with QT atoms and atom containers, which are described in "QT Atoms".
Overview of QTMA ComponentsQuickTime Music Architecture intoduces the components that make up QTMA and describes how each is used.
QuickTime Music Architecture describes the data structure of QuickTime music events. Music events specify the instruments and notes of a musical composition. The events described in this section initialize and modify sound-producing music devices and define the notes and rests to be played. Several different event types are defined.
QuickTime Music Architecture discusses some of the more common operations your application may perform with the QTMA.
QuickTime Music Architecture describes the constants provided by QTMA for use in your application.
QuickTime Music Architecture defines the data structures used in QTMA.
QuickTime Music Architecture describes the functions the tune player provides for setting, queueing, and manipulating music sequences. It also describes tune player utility functions.
QuickTime Music Architecture defines the functions that make up the note allocator component. The note allocator contains a set of functions for allocating and manipulating note channels and playing notes. This set of functions is defined here. It also contains a set of user interface functions and a set of utility and system configuration functions, which are defined in the next sections.
QuickTime Music Architecture defines the functions of the note allocator component which provide a user interface.
Note Allocator Functions: System Configuration and UtilityQuickTime Music Architecture defines the functions of the note allocator component that are used for system configuration or utility purposes.
QuickTime Music Architecture defines the music component functions that obtain specific information about a synthesizer, obtain a best instrument fit from the available instruments within the synthesizer, play a note, get and set a synthesizer knob, obtain synthesizer knob information, and get and set external MIDI procedure name entry points.
QuickTime Music Architecture defines the music component functions that initialize a part with an instrument, store instruments, list available instruments, manipulate parts, and get information about parts.
QuickTime Music Architecture defines the functions of the music component that get and modify the master tuning of the synthesizer, cause the synthesizer to play off-line, and allow the music component to perform tasks it must perform in the foreground foreground.
Instrument Component FunctionsQuickTime Music Architecture defines the functions that make up an instrument component.
QuickTime Music Architecture defines the functions of the MIDI component.
Functions for Importing MIDI FilesQuickTime Music Architecture defines the functions used for importing MIDI files into QuickTime.
Function Provided by the Generic Music ComponentQuickTime Music Architecture defines the MusicGenericConfigure function.
Functions Implemented by Music Components that Use the Generic Music ComponentQuickTime Music Architecture defines functions that are implemented by client music components of the generic music component. These functions are called by the generic music component, as necessary for responding to function calls made by applications.
QuickTime Music Architecture lists all of the result codes returned by QuickTime music architecture functions.